草庐IT

if-statement - If - Else 条件

全部标签

javascript - 使用空对象作为条件 if 循环的参数

这个问题在这里已经有了答案:HowdoItestforanemptyJavaScriptobject?(48个回答)关闭5年前。这与我一直在尝试做的类似,varobj={};if(obj){//dosomething}我想做的是当对象为空时条件应该失败。我尝试使用JSON.stringify(obj),但它仍然包含大括号('{}')。

javascript - 如何使 if 语句永久化?

我是编程新手,作为帮助我更好地使用JavaScript的小型项目,我正在制作日落。背景开始是蓝色的,在某个时刻,背景必须变成黑色,大部分都是我做的,我只是不知道如何让它一直是黑色。noStroke();//OriginalypositionofthesunvarsunPosition=50;functiondraw(){//Drawskybackground("skyblue");//MovethesundownsunPosition=sunPosition+1;if(sunPosition===348){background("black");}//Drawsunfill("yell

javascript - 为什么在 JavaScript 的 if() 表达式中使用 var 是非法的?

至少在V8中是这样的if((vari=x*x)==2){}将给出有关意外“var”关键字的错误。但是,如果var发生在if()之前,则没有错误,但我仍然在表达式中保留i的赋值。为什么会有这么奇怪的异常(exception)?这是在某处的ECMA脚本标准中吗?在if()表达式的求值过程中是否发生了无法检测到的闭包,因此留在var中会使我的赋值消失?为了进一步概括,var前面必须没有非空白字符。 最佳答案 对您的问题的简短回答是,您不能使用变量语句作为在if中求值的表达式。更详细的答案是,根据ECMA-262s12.5,if语句具有以下

javascript - "-[1, ]"在 "if(!-[1, ] && !window.XMLHttpRequest)"中是什么意思?

我找到下面的代码,但我看不懂。if(!-[1,]&&!window.XMLHttpRequest){document.execCommand("BackgroundImageCache",false,true);}if(!-[1,])是什么意思?谢谢 最佳答案 检测旧版InternetExplorer是一种技巧。-[1,]在现代浏览器中是-1(所以false和!)但是NaN在旧的IE中(true被否定)。第一个返回正确结果的版本是IE9。 关于javascript-"-[1,]"在"if

Javascript if 语句不起作用

这个问题在这里已经有了答案:Whatisthedifferencebetweenthe`=`and`==`operatorsandwhatis`===`?(Single,double,andtripleequals)(5个答案)关闭1年前。我想做的事情非常简单:如果输入是0,表示他们没有输入数字,它应该告诉你。当输入为7时,它应该说你做对了。任何其他的,它应该告诉你你弄错了。但无论输入什么,它都只输出“7iscorrect”行,我无法弄清楚哪里出了问题。functionproblem2(){varnumber=0;vartext=document.getElementById("out

javascript - 有条件 "not equal to a and not equal to b"等的 JS 简写吗?

我只是想知道是否有一些JS简写是这样的:if(x!=1&&x!=2)dostuff;这样的野兽存在吗?相反,我想说这样的话:if(x!=1:2)dostuff; 最佳答案 不,没有这样的速记。如果不想重复变量,可以使用开关:switch(x){case1:case2:break;default:dostuff;}另一种方法是在数组中查找值:if([1,2].indexOf(x)==-1)dostuff;但是,Array.indexOf并非在所有浏览器中都存在,因此您可能需要一个后备方案,例如您可以在MozillaArray.inde

javascript - 如何理解 "if ( obj.length === +obj.length )"Javascript条件语句?

我遇到了一个我很难理解的条件语句。它看起来像(请注意右侧的+-sign):obj.length===+obj.length。这个条件和它的目的/语法能解释一下吗?查看该声明(在不知情的情况下)会让人觉得它是某种肮脏的hack,但我几乎可以肯定underscore.js是一个设计良好的库,因此必须有一个更好的解释。背景我发现此语句用于underscore.js库(underscore.jsannotatedsource)的某些函数中。我的猜测是这个条件语句与测试变量obj是否为Array类型有某种关系?(但我完全不确定)。我已尝试使用此代码对此进行测试。varmyArray=[1,2,3

javascript - Lodash - 从 Map 方法有条件地返回对象

我想遍历一个数组,运行一个计算,如果结果的条件为真,则返回一个新对象。_.filter(...)在这里不起作用,因为迭代器函数必须返回true或false。_.map(people,function(person){varage=calculateAge(person.birthDate);if(age>50){return{person:person,age:age};}});我已经尝试搜索所有内容,包括文档,但我还没有找到一种很好的方法。 最佳答案 听起来你可能想要reduce而不是map:varnewArray=_.reduc

javascript - Vue.js v-show 和 v-else 没有按预期工作?

我似乎无法让v-show和v-else工作。文档说:Thev-elseelementmustfollowingimmediatelyafterthev-iforv-showelement-otherwiseitwillnotberecognized.文档:http://vuejs.org/guide/conditional.html#v-showfiddle:https://jsfiddle.net/p2ycjk26/2/HTML:Heading{{test.name}}NodataavailableintableJavaScript:newVue({el:'table',data:{

javascript - 为什么即使条件为真也会执行 else block ?

几分钟前,我在Codeacademy上练习了一些JavaScript,我发现了一些令人困惑的东西。这是代码:varfriends={};friends.bill={firstName:"Bill",lastName:"Gates",number:"(206)555-5555",address:['OneMicrosoftWay','Redmond','WA','98052']};friends.steve={firstName:"Steve",lastName:"Jobs",number:"(408)555-5555",address:['1InfiniteLoop','Cuperti